home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / programr / upc12bs1.zip / UUCICO / comm.h < prev    next >
Text File  |  1993-05-30  |  4KB  |  92 lines

  1. /*
  2. ** declarations for comm.asm
  3. **
  4. ** compilation must use the Ze switch to enable the
  5. ** "far" keyword for the small memory model
  6. **
  7. ** Robin Rohlicek   3/86
  8. ** skl@van-bc.UUCP    5/88 (more prototypes and com_errors fix)
  9. */
  10.  
  11. void far select_port(int); /* select active port (1 or 2) */
  12.  
  13. void far save_com(void);   /* save the interupt vectors */
  14.  
  15. void far restore_com(void);   /* restore those vectors */
  16.  
  17. int far install_com(void); /* install our vectors */
  18.  
  19. void far open_com(         /* open com port */
  20.    int,  /* baud */
  21.    int,  /* 'M'odem or 'D'irect */
  22.    int,  /* Parity 'N'one, 'O'dd, 'E'ven, 'S'pace, 'M'ark */
  23.    int,  /* stop bits (1 or 2) */
  24.    int); /* Xon/Xoff 'E'nable, 'D'isable */
  25.  
  26. void far ioctl_com( int flags, int operand, ...);
  27.  
  28. void far close_com(void);  /* close com port */
  29.  
  30. void far dtr_off(void);    /* clear DTR */
  31.  
  32. void far dtr_on(void);     /* set DTR */
  33.  
  34. long far r_count(void);    /* receive counts */
  35.    /* high word = total size of receive buffer */
  36.    /* low word = number of pending chars */
  37. #define r_count_size() ((int)(r_count() >> 16))
  38. #define r_count_pending() ((int)r_count())
  39.  
  40. int far receive_com(void); /* get one character */
  41.    /* return -1 if none available */
  42.  
  43. long far s_count(void);    /* send counts */
  44.    /* high word = total size of transmit buffer */
  45.    /* low word = number of bytes free in transmit buffer */
  46. #define s_count_size() ((int)(s_count() >> 16))
  47. #define s_count_free() ((int)s_count())
  48.  
  49. void far send_com(int);    /* send a character */
  50.  
  51. void far send_local(int);  /* simulate receive of char */
  52.  
  53. void far sendi_com(int);   /* send immediately */
  54.  
  55.  
  56. void far break_com(void);  /* send a BREAK */
  57.  
  58. int far * far com_errors(void);  /* return far pointer to error counts
  59.                                     (in static area) */
  60. #define COM_EOVFLOW 0   /* buffer overflows */
  61. #define COM_EOVRUN  1   /* receive overruns */
  62. #define COM_EBREAK  2   /* break chars */
  63. #define COM_EFRAME  3   /* framing errors */
  64. #define COM_EPARITY 4   /* parity errors */
  65. #define COM_EXMIT   5   /* transmit erros */
  66. #define COM_EDSR    6   /* data set ready errors */
  67. #define COM_ECTS    7   /* clear to send errors */
  68.  
  69.  
  70. /*--------------------------------------------------------------------*/
  71. /*                    Macros based on modem status                    */
  72. /*--------------------------------------------------------------------*/
  73.  
  74. int far modem_status( void ); /* Return current modem status         */
  75.  
  76. #define is_dsr_high() ( modem_status() & MDM_DSR )
  77. #define is_cts_high() ( modem_status() & MDM_CTS )
  78. #define is_cd_high()  ( modem_status() & MDM_CD  )
  79.  
  80. /*--------------------------------------------------------------------*/
  81. /*                   Bits returned by modem status                    */
  82. /*--------------------------------------------------------------------*/
  83.  
  84. #define MDM_CD    0x80        /* CD  (Carrier Detect)                */
  85. #define MDM_RI    0x40        /* RI  (Ring Indicator)                */
  86. #define MDM_DSR   0x20        /* DSR (Data Set Ready)                */
  87. #define MDM_CTS   0x10        /* CTS (Clear to Send)                 */
  88. #define MDM_CDC   0x08        /* Delta Carrier Detect  (CD changed)  */
  89. #define MDM_TRI   0x04        /* Trailing edge of RI   (RI went OFF) */
  90. #define MDM_DSRC  0x02        /* Delta DSR             (DSR changed) */
  91. #define MDM_CTSC  0x01        /* Delta CTS             (CTS changed) */
  92.